package com.itbupt.eat.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.itbupt.eat.dto.DishDto;
import com.itbupt.eat.entity.Dish;

import java.util.List;

/**
 * @Author BUPT-Dingchang
 * @Create 2024/4/30 9:45
 * ClassName: IDishService
 * Description:
 */
public interface IDishService extends IService<Dish> {

    // 新增菜品并设置口味信息
    Boolean saveWithFlavor(DishDto dishDTO);

    // 分页查询+按菜品名称查询
    Page<DishDto> getPage(Long page, Long pageSize, String name);

    // 根据菜品id查询菜品信息和对应的口味信息
    DishDto getByIdWithFlavor(Long id);

    // 修改菜品，同时修改菜品对应的口味数据
    Boolean updateWithFlavor(DishDto dishDto);

    // 批量 起售/停售菜品
    Boolean updateStatus(Integer status, List<Long> ids);

    // 删除/批量删除菜品
    Boolean removeWithFlavor(List<Long> ids);

    // 根据指定的过滤条件查询菜品信息
    List<DishDto> listWithFlavor(Dish dish);

}
